package com.guodi.model.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guodi.model.entity.IdtReportValue;
import com.guodi.model.vo.ApiIndicatorsValue;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @描述：指标上报值表 Mapper 接口
 * @作者: 彭辉
 * @日期: 2020-06-05
 */
public interface IdtReportValueMapper extends BaseMapper<IdtReportValue> {

    /**
     * @描述:根据关键字搜索
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/17 12:09
     **/
    List<IdtReportValue> listByKeyWord(@Param("keyWord") String keyWord, @Param("year") Integer year, @Param("pageSize") long pageSize, @Param("start") long start, @Param("sort") String sort, @Param("sortWay") String sortWay, @Param("divisionCode") String divisionCode, @Param("orgId") String orgId);

    /**
     * @描述:关键字搜索查询的总记录数
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/17 15:08
     **/
    Integer listByKeyWordCount(@Param("keyWord") String keyWord, @Param("orgId") String orgId);

    /**
     * @描述:关键字、行政区划搜索查询的总记录数
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2020/12/22 16:08
     **/
    Integer listByKeyWordAndCodeCount(@Param("keyWord") String keyWord, @Param("year") Integer year, @Param("divisionCode") String divisionCode, @Param("orgId") String orgId);


    /**
     * @描述:通过行政编码获取行政区名称
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/18 15:42
     **/
    String getNameByDivisionCode(String divisionCode);

    /**
    * @描述: 获取历史数据列表
    * @入参:
    * @出参:
    * @作者: 代鹏刚
    * @日期: 2020/11/7 13:30
    **/
    List<IdtReportValue> getHistoryList(@Param("indicatorsId") String indicatorsId, @Param("yearList") List<Integer> yearList, @Param("divisionCode") String divisionCode);

    /**
     * @描述：根据指标体系编码、年份查询指标数值
     * @作者：彭辉
     * @日期：2020/12/8 16:34
     **/
    List<ApiIndicatorsValue> listCurrentAssessmentData(@Param("year") Integer year, @Param("divisionCode") String divisionCode, @Param("indicatorsList") List<String> indicatorsList);

    /**
     * @描述：根据指标编码、年份、行政区划代码查询因子值
     * @作者：汤厚韬
     * @日期：2021/1/25
     */
    List<IdtReportValue> listByIndicatorsIds(@Param("calculateFactorNameList") List<String> calculateFactorNameList, @Param("year") Integer year, @Param("divisionCode") String divisionCode);
}
